Free busy calendar interface

ABSTRACT

An electronic device having access to a calendar database comprising calendar event data identifying events scheduled for respective time slots and a method of using such a device are provided. The device is configured to generate on a display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying an availability status for the time slot, and in which the availability status options for the availability status field are dependent on a type of a remote messaging server.

RELATED APPLICATION DATA

This application is a continuation of U.S. patent application Ser. No.11/278,489, filed Apr. 3, 2006. The content of this prior application isincorporated herein by reference.

TECHNICAL FIELD

The present application relates to mobile device entry of event detailsand, in particular, to mobile device entry of availability status inrelation to an event.

BACKGROUND

Communication devices, in particular handheld mobile communicationdevices, are becoming increasingly sophisticated. A common feature ofsuch communication devices is a system or application for schedulingevents such as, for example, a built-in calendar. If the system orapplication does not permit the device user to enter details for eventsin an intuitive manner, benefits realized through use of the system orapplication may be less than if it did permit details entry in such amanner.

Accordingly, it would be advantageous to improve mobile device entry ofevent details.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example, to the accompanyingdrawings which show example embodiments, and in which:

FIG. 1 shows a block diagram of an electronic mobile device to whichexample embodiments can be applied;

FIG. 2 is a front or plan view, in diagrammatic form, of an example ofthe device of FIG. 1;

FIG. 3 shows a block diagram of an example server system that providesservices to some examples of the device of FIG. 1;

FIG. 4 shows, in diagrammatic form, an example user interface screen ofan operating system within which a user of the device shown in FIG. 1can request that an application be run;

FIG. 5 shows, in diagrammatic form, an example user interface screen ofa calendar module within which the device user selects a time for anevent on a particular date;

FIG. 5A shows, in diagrammatic form, an the example user interfacescreen of FIG. 5 after a calendar entry is selected;

FIG. 6 shows, in diagrammatic form, another example user interfacescreen of the calendar module within which the device user views orenters details of the event;

FIG. 6A shows, in diagrammatic form, the example user interface screenof the FIG. 6 with a marked busy status indicator.

FIG. 7 shows, in diagrammatic form, an alternative example userinterface screen similar to the screen shown in FIG. 6; and

FIG. 8 shows, in diagrammatic form, the screen of FIG. 7, butadditionally including a selection list listing a number of possibledevice user availability statuses.

Similar or the same reference numerals may have been used in differentfigures to denote similar components.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

An electronic device having access to a calendar database comprisingcalendar event data identifying events scheduled for respective timeslots and a method of using such a device are provided. The device isconfigured to generate on a display a calendar events detail userinterface screen that includes a plurality of fields specifyinginformation about an event scheduled to occur at a time slot, one of thefields being an availability status field displaying an availabilitystatus for the time slot, and in which the availability status optionsfor the availability status field are dependent on a type of a remotemessaging server.

In accordance with one embodiment of the present disclosure, there isprovided a electronic device, comprising: a controller; a displayconnected to the controller; a user input device connected to thecontroller; a communication subsystem connected to the controller whichexchanges calendar event data with a remote server; the controller beingconfigured to interact with a calendar database comprising calendarevent data identifying events scheduled for respective time slots; thecontroller being further configured to generate on the display acalendar events detail user interface screen that includes a pluralityof fields specifying information about an event scheduled to occur at atime slot, one of the fields being an availability status fielddisplaying an availability status for the time slot, whereinavailability status options for the availability status field aredependent on a type of the remote server; the communication subsystemexchanging calendar event data for scheduled events with the remoteserver, the exchanged calendar event data including the availabilitystatus of scheduled events.

In accordance with another embodiment of the present disclosure, thereis provided a method of generating calendar information on an electronicdevice having access to a calendar database storing calendar event dataidentifying events scheduled for respective time slots, the electronicdevice including a controller and a display, user input device, andcommunication subsystem each connected to the controller, thecommunication subsystem exchanging calendar event data with a remoteserver, the method comprising: generating on the display a calendarevents detail user interface screen that includes a plurality of fieldsspecifying information about an event scheduled to occur at a time slot,one of the fields being an availability status field displaying anavailability status for the time slot, wherein availability statusoptions for the availability status field are dependent on a type of theremote server; and exchanging with the remote server calendar event datafor scheduled events, the exchanged calendar event data including theavailability status of the scheduled events.

In accordance with a further embodiment of the present disclosure, thereis provided a method of configuring a calendar application on anelectronic device having access to a calendar database storing calendarevent data identifying events scheduled for respective time slots, theelectronic device including a controller and a display, user inputdevice, memory and communication subsystem each connected to thecontroller, the communication subsystem exchanging calendar event datawith a remote server, the method comprising: provisioning the electronicdevice with calendar application settings for interacting with theremote server dependent on a type of the remote server, the calendarapplication settings including availability status options used forindicating an availability status for a time slot in the calendarapplication; and generating on the display a calendar events detail userinterface screen that includes a plurality of fields specifyinginformation about an event scheduled to occur at a time slot, one of thefields being an availability status field displaying the availabilitystatus for the time slot.

In accordance with yet a further embodiment of the present disclosure,there is provided a computer program product comprising a computerreadable medium having stored thereon computer program instructions forimplementing a method on a handheld electronic device for controllingits operation, the computer executable instructions comprisinginstructions for performing the method(s) set forth herein.

The present description of example embodiments does not limitimplementation to any particular computer programming language or systemarchitecture. Embodiments described in the specification are not limitedto any particular operating system (OS), mobile device architecture,server architecture, or computer programming language.

Any references herein to “messages” are not intended to be limited toe-mail, but should be understood to include other types of electronicmessages that one skilled in the art would understand to be possible inthe context in which the term is used.

Referring now to the drawings, FIG. 1 is a block diagram of anelectronic mobile device 10 to which example embodiments can be applied.The mobile device 10 includes a controller that includes at least onemicroprocessor 38 (and possibly more than one microprocessor) thatcontrols the overall operation of the device. The microprocessor 38interacts with device subsystems such as a display 22, flash memory 24,random access memory (RAM) 26, communication subsystem(s) 11 (the mobiledevice 10 may or may not include such a subsystem) and user inputcomponents 32 such as a keyboard or keypad and auxiliary on-screennavigation and selection input device(s) such as a touch screen, touchpad, directional button(s), joystick and/or scrollwheel.

Some examples of the mobile device 10 include the wirelesscommunications subsystem(s) 11 for exchanging communications with one ormore communications networks including, for example, cellular type widearea wireless networks and/or wireless local area networks. In someexamples, the mobile device 10 is a two-way, electronic communicationsdevice having data and possibly also voice communication capabilities.In some examples, the mobile device 10 has the capability to exchangemessages with other devices and computer systems on the Internet.Depending on the functionality provided by the mobile device 10, invarious examples the mobile device may be a multiple-mode communicationdevice configured for both data and voice communications, a smartphone,a Personal Digital Assistant (PDA), or a mobile computer system amongother things. In some examples, the mobile device 10 is not a wirelesscommunications device. For example, there exist PDAs that are notcapable of sending and receiving wireless communications.

Operating system software 50 and various software applications (forexample, calendar application 56, and messaging application 60) used bythe microprocessor 38 are, in a number of example embodiments, stored ina persistent store such as the flash memory 24 or similar storageelement. Those skilled in the art will appreciate that the operatingsystem 50, other software applications, or parts thereof, may betemporarily loaded into a volatile store such as the RAM 26.

The microprocessor 38, in addition to its operating system functions,can enable execution of software applications (for example, the calendarapplication 56 and the messaging application 60) on the mobile device10. A predetermined set of software applications which control basicdevice operations, including data and voice communication applicationsfor example, will normally be installed on the mobile device 10. In someembodiments, the processor 38 is configured to implement a number ofmodules for interacting with the various device subsystems describedabove (or other device subsystems). In some embodiments, some or part ofthe functionality of a number of these modules can be implementedthrough firmware or hardware components instead of, or in combinationwith, computer software instructions executed by the microprocessor 38(or other processors).

As a first module example, under instructions from the calendarapplication 56 resident on the mobile device 10, the processor 38 couldbe configured to implement calendar module 62. The calendar module 62facilitates device user scheduling and reminding in relation to calendarevents. In some examples, the calendar module 62 handles meetinginvitations sent and received over a communication network, through thecommunication subsystem 11. Also, a database (not explicitly shown)adapted to store event data corresponding to entered event details canbe maintained on the flash memory 24, the RAM 26 and/or some othercomputer readable medium such as a remotely locatedmagnetic/optical-based disk drive, for example. The calendar module 62is able to add, alter and delete event data in this database by wayaction queries, for example.

As a second module example, under instruction from the messagingapplication 60 resident on the mobile device 10, the processor 38 couldbe configured to implement messaging module 66. The messaging module 66enables composition of data items, such as e-mail messages for example.Such composed items may then be transmitted over a communication networkthrough the communication subsystem 11. Conversely, messages can bereceived through the communication subsystem 11 for processing by themessaging module 66.

With reference now to FIG. 2, in some examples, the components andsubsystems of mobile device 10 are housed within a rigid case 200 thatis configured to be held with one or two hands while the mobile device10 is in use. The case 200 may be a single housing, or in someembodiments, could include parts that are pivotally or slidablyconnected together. The mobile device 10 is, in some examples, smallenough to fit inside a standard purse or coat pocket, be clipped to abelt, and/or be mounted on a belt-worn holster. In the illustratedembodiment, alphanumeric keyboard or keypad 32 a is horizontallypositioned symmetrically between a left edge and a right edge of a face204 of the mobile device 10. The keyboard 32 a includes several keys 208for user input of displayable numbers, letters or other characters.

In some examples, the keys 208 of the keyboard 32 a consist of number,pound and asterisk keys typically found on any telephone, plus a fewadditional keys associated with miscellaneous inputs (for example, ahang up or answer call key); however in examples such as the illustratedexample, the keyboard 32 a has a larger number of keys. In theillustrated example, the keyboard 32 a mimics standard full-sizedkeyboards normally associated with personal computers (e.g. a number ofthe keys 208 could each permit input of a particular letter of thealphabet). The illustrated keyboard 32 a also includes one or more keysthat can be held down to give an alternate meaning to another of thekeys (or other input component) when depressed. In at least one example,these one or more keys include an Alt key. As will be appreciated bythose skilled in the art, keys that give alternate meaning to otherinput components enable expanded input capability such as, for example,the ability to provide for so-called “shortcut keys” or “hot keys”.

The illustrated mobile device 10 also includes a scrollwheel 32 b thatcan be rotated upwards towards an upper end of the device or downwardstowards a bottom end of the device, as indicated by the arrows x and yrespectively. Rotation is about an axis perpendicular to the face 204 ofthe mobile device 10. In the illustrated example, the scrollwheel 32 bprotrudes through an opening that is provided through a side of thehousing case 200 so as to be adapted for manipulation by a thumb (orother hand digit) of a user of the mobile device 10. In addition tobeing rotatable, the illustrated scrollwheel 32 b can also be depressedinwardly as indicated by arrow z.

FIG. 3 shows a block diagram of an example server system 300 thatprovides services to some examples of the mobile device 10. Typically,when a mobile device 10 is initially set-up or provisioned for a user,the device 10 will become associated with a server system 300 that ispart of an enterprise network that is operated by an organization withwhich the device user is affiliated. Within the illustrated serversystem 300, at least one messaging server 304, which may for example beimplemented using Microsoft Exchange™ Server, IBM Lotus Domino™ Server,Novell GroupWise™ Server, or some other similar server software, istypically connected to a firewall for receiving e-mail messages from theInternet and rerouting those messages (however in at least one examplethe server 304 is a Personal Information Management server withoutmessaging support capabilities). In addition to the messaging server 304typically acting as a primary interface for the exchange of messageswithin a corporation (or organization) and over the Internet, themessaging server 304 also typically provides functions related to themanagement of data associated with calendar and task lists, for example.As will be appreciated by those skilled in the art, objects and otherdata received by the messaging server 304 are typically stored in amessage store (not explicitly shown) for possible retrieval in thefuture. It will additionally be understood that, in some examples, anenterprise network will include a server system 300 having a pluralityof messaging servers 304. Some of these plurality of messaging serversmay be implemented using server software produced by one company (e.g.Microsoft Exchange™ Server produced by Microsoft®) while others may beimplemented using server software produced by a different company (e.g.IBM Lotus Domino™ Server produced by IBM®).

The illustrated server system 300 also includes a wireless connectorserver or subsystem 308. In some examples, the wireless connectorsubsystem 308 relays received electronic messages from a message storewithin the enterprise network out to a mobile device, and conversely thewireless connector subsystem 308 can also facilitate the handling ofmessages composed on a mobile device, which are sent to the messagingserver 304 for subsequent delivery. The wireless connector subsystem 308functions as an interface between the enterprise network (to which itbelongs) and a wireless network. As will be appreciated by those skilledin the art, an enterprise network may, in some instances, includemultiple wireless connector subsystems 308 such as in someimplementations where a large number of mobile devices need to besupported.

The server system 300 may optionally include one or more other servers316 enabling the server system 300 to provide other types of services tomobile devices besides those related to messages, calendar entries, etc.In some examples, the server 316 could be a collaboration serveremployed in conjunction with one or more other collaboration tools inrelation to cooperative document revision, team rooms, discussionsstored in discussion databases and the like. In other examples, theserver 316 could be a type of media server enabling the server system300 to provide services similar to those associated with so-calledunified messaging systems.

A number of computers 320 (for convenience only one is shown in FIG. 3)communicate with the server system 300 over, for example, a Local AreaNetwork (LAN). As subsequently explained, the computer 320 can beemployed in provisioning of the mobile device 10. Coupled to thecomputer 320 is a device cradle 328 that can physically receive themobile device 10. The cradle 328 may be coupled to the computer 320 by aserial or a universal serial bus (USB) connection, for example. Often, acomputer 320 and a mobile device 10 will each be associated with acommon user.

When the mobile device 10 is in the cradle 328, provisioning of themobile device 10 can be carried out through communications with theserver system 300 mediated by the computer 320. In some examples, suchprovisioning may change and/or add to calendar application settings 58(FIG. 1) and it will be understood that the calendar applicationsettings 58 may be a file(s) (or some other object or objects) loaded bythe calendar application 56 when the application is launched. As will beappreciated by those skilled in the art, the calendar applicationsettings 58 dictate the behavior of the calendar application 56.

So-called synchronization may also be carried out when the mobile device10 is in the cradle 328. As understood by those skilled in the art,synchronization involves the mobile device and the server system 300updating each other with respect to any new information on eitherdevice. In some examples, a database that stores event data such ascalendar event data, for example, will exist on both the server system300 and the mobile device 10; however at times the server system'sdatabase may, for instance, only be as up-to-date as the last time thatsynchronization was carried out, whereas the mobile device's database(calendar database 59 in FIG. 1) is fully up-to-date, or vice-versa. Inat least some example embodiments, synchronizing updates of calendarevent data between the calendar databases maintained on the serversystem 300 and the mobile device 10 is done over the air instead of orin addition to through the above described “docked” synchronization. Insome embodiments, calendar event information is stored in a database atcomputer 320 rather than (or in addition to) on the server system 300,and the calendar databases at the computer and the mobile device 10 areperiodically synchronized either through a wired connection when thedevice is docked in cradle 328, or through a wireless connection throughthe server system 300. In some embodiments, very little calendar data isstored locally at the device 10, and detailed calendar event informationmust be wirelessly from the server system 300 to be viewed at the mobiledevice 10.

In order that details of example embodiments may be expounded upon, anumber of example user interface screens of the mobile device 10 are nowdescribed. Beginning with reference to FIG. 4, example user interfacescreen 400 is generated by the operating system 50 to provide the deviceuser with choices of applications that can be run. In the illustratedexample, various applications each have an associated selectable icon402. For instance, one of the icons 402 might be associated with thecalendar application 56, and another of the icons 402 might beassociated with the messaging application 60. In at least one example,the device user can rotate the scrollwheel 32 b in either direction x ory, causing selection symbol 404 to move through the icons 402 until itis positioned on the icon 402 associated with the application orfunction that the device user wants to launch. The device user can thendepress the scrollwheel 32 b in direction z to select the icon that ishighlighted or focused by the selection symbol 404. This input action istranslated by the operating system 50 into a request for the applicationassociated with the selected icon to be launched. In at least oneexample, one or more alternative input components can be operated tocarry out the same application launch request, for instance, pressing ofa combination of arrow keys and an Enter key or pressing one or moreshortcut keys.

Once the operating system 50 launches the appropriate application orfunction, the user interface screen 400 on display 22 may be replaced bywhatever startup interface screen is generated by the launchedapplication. The device user would then typically proceed throughfurther user interface screens of the application that was launched. Forexample, if the device user launches the calendar application 56, thedevice user may choose to navigate through a number of user interfacescreens in order to enter the details of various calendar events.

An example startup interface screen 500 generated on the display 22 bythe calendar application is shown in FIG. 5. Within the screen 500 is atwo column table representing a calendar day, with rows in the tablerepresenting calendar entries. The left hand column lists times atintervals of one hour, and the time period being from 9:00 AM through to5:00 PM for the date of Apr. 28, 2005 (however any suitable timeintervals and time period are contemplated). The right hand column isfor short subject descriptions corresponding to the respective times inthe left hand column. In the illustrated example, the device user cannavigate selection symbol 504 up or down the times listed in the lefthand column to select a particular calendar entry. The device user cando this by, for instance, rotating the scrollwheel 32 b in eitherdirection x or y, or by means of some other input component(s) such as,for example, arrow keys on the keyboard 32 a. The user may, for example,choose to navigate the selection symbol 504 down to the column entry“3:00 PM”. It will be understood that a calendar event has already beenentered in relation to this time because the words “Budget Review”appear in the same row in the right hand column and bracket 508indicates that this calendar event will occur between 3:00 and 4:00 PM.

When the interface screen 500 is displayed on display 500, one or morepredetermined user input activities (for example depressing thescrollwheel 32 b or an “Enter” key) results in an option menu 510 ofselectable calendar functions being displayed on the device display 22,such as shown in FIG. 5A. In the illustrated example the option menu 510includes selectable functions such as “hide menu”; “today”, “Prev Day”and “Next Day” (for viewing the calendar screen 500 for the current day,previous day or next day, respectively); “View Week” “Options” and“Close”. In the event that the scrollwheel 32 a is pressed (or otherpredetermined user input activity occurs) when the selection symbol 504is located at a scheduled calendar event (in this case the 3:00 pmbudget review meeting), then an “Open” option and a “Delete” option areincluded in the option menu 510 for respectively opening and deletingthe selected or highlighted calendar entry. A “New” option is alsoprovide in the list 510 for entering a new calendar event. An optionmenu selection symbol 512 can be scrolled (in response to rotation ofscrollwheel 32 b or other navigational input) through the options in thelist 510 to highlight an option for selection through subsequentdepression of the scrollwheel (or other user selection activity). In theillustrated embodiment, the selection symbol 512 is highlighting the“Open” function in respect of the scheduled 3 pm “Budget Review”calendar event.

Still with reference to the example event relating to a budget review,FIG. 6 shows an example calendar event detail user interface screen 600generated subsequent to the screen 500 and in response to the deviceuser requesting for the “Budget Review” event to be opened. As shown,the Budget Review event is scheduled to begin at a first point in time(Thursday, Apr. 28, 2005 at 3:00 PM) and end at a second point in time(Thursday, Apr. 28, 2005 at 4:00 PM). Details of the Budget Review eventare displayed within the screen 600 and are also provided in Table Abelow:

TABLE A Description of Detail(s) Event Detail(s) Short subjectdescription Budget Review Event start date and time Thursday, Apr. 28,2005 at 3:00 PM Event end date and time Thursday, Apr. 28, 2005 at 4:00PM Duration of event One hour and zero minutes Penciled or not penciledin Not penciled in Number of minutes prior to 15 minutes start time thatreminder is to be generated Recurrence or no recurrence None Marked ornot marked as private Not marked as private Notes No notes entered

It will be understood that in alternative examples calendar eventdetails may include more or fewer details than the above example.Possible additional details may include, for example,meeting/appointment location, long meeting/appointment description, etc.In some example embodiments, the displayed calendar details may beretrieved from calendar database 59 stored locally on the mobile device10 (as indicated above, in at least some embodiments the locally storedcalendar database 59 is periodically synchronized with a correspondingcalendar database maintained at server system 300 or computer 320. Insome example embodiments, when the device user “opens” a calendar eventfor viewing at the mobile device, at least some of the displayedcalendar event details are retrieved over the air from a databasemaintained at the server system or computer 320.

In the illustrated example of FIG. 6, selection symbol 608 can benavigated through the various calendar event details to change and/orset these details. (Again navigation can be carried out by the deviceuser rotating the scrollwheel 32 b in either direction x or y, or bymeans of some other input component or components such as, for example,arrow keys or a Tab key.) When the selection symbol 608 is navigatedonto the detail desired to be modified or set, such modification orsetting may not necessarily be effectuated immediately by depressing thescrollwheel 32 b (or depressing the Enter key on the keyboard 32 a) butmay instead be effectuated by some series of selection listnavigation(s) and/or combination of scrollwheel movements. In exampleembodiments, when all desired changes have been made to the informationfields of interface 600, a device user can save those changes todatabase 59 (for eventual synchronization with the calendar databasemaintained at server system 300).

The calendar event detail user interface screen 600 includes a free/busyavailability status field 612 in the form of a box 614 followed by theterm “Pencil In”. The free/busy availability status field 612 indicatesthe device user availability status during the time slot for which thecalendar event is scheduled. In FIG. 6, the availability status field612 is set at free (i.e. not penciled in because there is no fill-in orcheck mark in box 614—FIG. 6A illustrates the availability status field612 set at busy, as illustrated by the checkmark 614). If the deviceuser wished to change the availability status detail shown atavailability status field 612, this could be done by moving theselection symbol 608 to highlight the availability status field 612 andthen carrying out the change by further input component(s) operation(for example rotating the scrollwheel 32B, possibly in combination withpressing another key). Such a change would mean that a different (thanthe current) availability status value would replace the existing valueboth on the display screen and in the stored database information. Thefree/busy status assigned by a device user to a calendar event may beused by the calendar application to determine how to respond toscheduling requests that compete for time slots with events that arealready scheduled.

For the example of FIG. 6, the granularity of the availability statusdetail is only akin to “yes” (penciled in, so I'm busy) or “no” (notpenciled in, so I'm free). As will be appreciated by those skilled inthe art, IBM Lotus Domino™ Server is an example of a messaging serverthat supports the illustrated two option-type availability status. Thus,the availability status field 612 of interface screen 600 takes a formcompatible with a server system 300 in which the eventdatabase-maintaining messaging server 304 is implemented using IBM LotusDomino™ Server software (FIG. 3). The fact that the messaging server 304that the mobile device 10 is associated with is an IBM Lotus Domino™Server can be specified in the calendar application settings 58 uponprovisioning of the mobile device 10, and the mobile device 10configured to use an interface screen 600 with a compatible availabilitystatus field.

User interface screen 700 shown in FIG. 7 is similar to the screen 600,but differs in relation to how the availability status detail is definedand can be changed. The availability status detail is shown at afree/busy availability status field 704 and can be modified through userinteraction with a selection list (such as example selection list 800shown in FIG. 8). The selection list 800 is generated in response to auser highlighting the status availability field 704 with an on-screenselection symbol 708 (for example, by rotating scrollwheel 32 b) andthen providing a selection input (for example, by depressing thescrollwheel 32 b).

Within the example selection list 800 are four selectable availabilitystatus options: “Free” (option 804), “Tentative” (option 806), “Busy”(option 808) and “Out of Office” (option 810). “Free” may mean that thedevice user can do other things during that time period if need be.“Tentative” may mean that the device user will likely be unavailable todo other things during that time period, but there could still be achance that, for example, what he intended to do could bepostponed/cancelled leaving him available during that time period.“Busy” may mean that the device user will be unavailable to do otherthings during the time period of the calendar event. “Out of Office” maymean that the device user will not be at work during the time period ofthe calendar event, and hence possibly even less likely to be reachableat that time as opposed to if he were merely “Busy”. To choose one ofthe options 804, 806, 808 and 810 within the selection list 800, thedevice user can navigate a selection symbol 812 up or down as need be tohighlight the desired option, and then make a selection input. Thedevice user can move the selection symbol 812 by, for instance, rotatingthe scrollwheel 32 b in either direction x or y, or by means of someother input component(s) such as, for example, arrow keys on thekeyboard 32 a. The selection input can, for example, include depressionof the scrollwheel 32 b or some other designated selection key.

In FIG. 7, the detail shown at availability status field 704 is set atbusy (which may be a default setting). If the device user wished tochange the availability status detail shown at availability status field704, this could be done by bringing up the selection list 800 followedby input component(s) operation as previously described in order toproduce the appropriate change request received the calendar module 62.Such a change would mean that a different (than the existing)availability status value would replace the existing value as displayedon the screen, and as stored in the calendar database.

It will be understood that the granularity of the availability statusdetail described in connection with the example of FIGS. 7 and 8 isgreater than the granularity of the availability status detail of theexample described in connection with FIG. 6. For the example of FIGS. 7and 8 there is a spectrum of availabilities. At one end of the spectrumthe device user is “Free”, at the other end of the spectrum the deviceuser is “Out of Office”, and in the middle of the spectrum are the“Tentative” and “Busy” availability status possibilities. As will beappreciated by those skilled in the art, Microsoft Exchange™ Server isan example of a messaging server that supports the illustrated fouroption-type availability status. Thus, the availability status field 704of calendar event detail interface screen 700 takes a form compatiblewith a server system 300 in which the event database-maintainingmessaging server 304 is implemented using Microsoft Exchange™ Serversoftware (FIG. 3). The fact that the messaging server 304 that themobile device 10 is associated with is a Microsoft Exchange™ Server canbe specified in the calendar application settings 58 upon provisioningof the mobile device 10, and the mobile device 10 configured to use aninterface screen 700 with a compatible availability status field.

In at least one example embodiment, the mobile device 10, prior to beingprovisioned for use with a specific type of server system 300, has theability to support a plurality of different possible calendar eventdetail user interface screens (for example screens 600, 700) each havinga different availability status field configurations (for example fields612, 704). Upon provisioning of a mobile device 10 to associate thedevice with a particular server system 300, the device settings areconfigured so that a default calendar event detail user interface isselected that has an availability status field that is compatible withthe availability status information generally used by the particularserver system 300.

Turning again to FIG. 5A, in the event that the device user selects the“New” option from option menu 510, the user will be presented with acalendar interface screen 600 or 700 (depending on deviceconfiguration), except that the display calendar event data fields willbe empty or set to default values that the user can modify to schedule anew calendar event.

It will be understood that the calendar application 56 need not be adistinct application launchable by way one of the icons 402 within thescreen 400 (FIG. 4) of the operating system 50: the calendar application56 could, for example, be an integrated component of the messagingapplication 60. Some or all of the functionality of applications 56 and60 could in some embodiments be incorporated into a personal informationmanagement (“PIM”) application.

Certain adaptations and modifications of the described embodiments canbe made. Therefore, the above discussed embodiments are considered to beillustrative and not restrictive.

1. An electronic device, comprising: a controller; a display connected to the controller; a user input device connected to the controller; a communication subsystem connected to the controller which exchanges calendar event data with a remote server; the controller being configured to interact with a calendar database comprising calendar event data identifying events scheduled for respective time slots; the controller being further configured to generate on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying an availability status for the time slot, wherein availability status options for the availability status field are dependent on a type of the remote server; the communication subsystem exchanging calendar event data for scheduled events with the remote server, the exchanged calendar event data including the availability status of scheduled events.
 2. The electronic device of claim 1, wherein the controller is configured to select and set the availability status options during provisioning of the electronic device based on the type of the remote server.
 3. The electronic device of claim 1, wherein the controller is configured to cause the availability status field to be limited to two availability status options, one of which indicates a free status and the other of which indicates a busy status, when the remote server is a first type of server; and wherein the controller is configured to cause the availability status field to include at least four availability status options when the remote server is a second type of server.
 4. The electronic device of claim 3, wherein the first type of server is a server that identifies itself to the communications subsystem as being implemented using IBM Lotus Domino™ and the second type of server is a server that identifies itself to the communications subsystem as being implemented using Microsoft Exchange™ Server.
 5. The electronic device of claim 1, wherein the availability status options include at least a free status and a not-free status for the time slot.
 6. The electronic device of claim 1, wherein only two different availability status options are provided, one of which indicates a free status and the other of which indicates a busy status.
 7. The electronic device of claim 1, wherein the availability status options include at least three different availability status options.
 8. The electronic device of claim 1, wherein the controller is configured to change the availability status displayed in the availability status field in response to user input received through the user input device, and exchange the changed calendar event data, including the availability status of the scheduled events, with the remote server calendar event data for scheduled events.
 9. The electronic device of claim 1, wherein the controller is configured to: move an on-screen selection symbol on the display to highlight the availability status field; upon receiving a predetermined user selection input when the availability status field is highlighted, generate a menu on the display displaying a plurality of user selectable availability status options; upon user selection of one of the availability status options, change the availability status to correspond to the user selected availability status option.
 10. The electronic device of claim 9, wherein the user input device includes a rotatable and depressible input mechanism, wherein the on-screen selection symbol is moved in response to rotation of the input mechanism, and wherein the predetermined user selection input includes depression of the input mechanism.
 11. The electronic device of claim 10, wherein the input mechanism is a scrollwheel which is rotatable about an axis in a first direction towards a top edge of the electronic device and in an opposite second direction towards a bottom edge of the electronic device, wherein the scrollwheel is also depressible.
 12. The electronic device of claim 11, wherein the controller is configured to select the one of the availability status options in response to depression of the scrollwheel.
 13. The electronic device of claim 1, further comprising a memory connected to the controller, the calendar database being stored therein.
 14. A method of generating calendar information on an electronic device having access to a calendar database storing calendar event data identifying events scheduled for respective time slots, the electronic device including a controller and a display, user input device, and communication subsystem each connected to the controller, the communication subsystem exchanging calendar event data with a remote server, the method comprising: generating on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying an availability status for the time slot, wherein availability status options for the availability status field are dependent on a type of the remote server; and exchanging with the remote server calendar event data for scheduled events, the exchanged calendar event data including the availability status of the scheduled events.
 15. The method of claim 14, wherein the availability status options are selected and set during provisioning of the mobile device based on the type of the remote server.
 16. The method of claim 14, wherein: when the remote server is specified in a calendar application setting as a first type of server, two availability status options are provided; and when the remote server is specified in a calendar application setting as a second type of server, four availability status options are provided.
 17. The method of claim 16, wherein the first type of server is a server that identifies itself to the communications subsystem as being implemented using IBM Lotus Domino™ and the second type of server is a server that identifies itself to the communications subsystem as being implemented using Microsoft Exchange™ Server.
 18. The method of claim 14, wherein the availability status options include at least a free status and a not-free status for the time slot.
 19. The method of claim 14, wherein the availability status options include only two different availability status options, one of which indicates a free status and the other of which indicates a busy status.
 20. The method of claim 14, wherein the availability status options include at least three different availability status options.
 21. The method of claim 14, further comprising: changing the availability status displayed in the availability status field in response to user input received through the user input device; and exchanging the changed calendar event data, including the availability status of the scheduled events, with the remote server calendar event data for scheduled events.
 22. A method of configuring a calendar application on an electronic device having access to a calendar database storing calendar event data identifying events scheduled for respective time slots, the electronic device including a controller and a display, user input device, memory and communication subsystem each connected to the controller, the communication subsystem exchanging calendar event data with a remote server, the method comprising: provisioning the electronic device with calendar application settings for interacting with the remote server dependent on a type of the remote server, the calendar application settings including availability status options used for indicating an availability status for a time slot in the calendar application; and generating on the display a calendar events detail user interface screen that includes a plurality of fields specifying information about an event scheduled to occur at a time slot, one of the fields being an availability status field displaying the availability status for the time slot.
 23. The method of claim 22, wherein: when the remote server is specified in a calendar application setting as a first type of server, two availability status options are provided; and when the remote server is specified in a calendar application setting as a second type of server, four availability status options are provided.
 24. The method of claim 23, wherein the first type of server is a server that identifies itself to the communications subsystem as being implemented using IBM Lotus Domino™ and the second type of server is a server that identifies itself to the communications subsystem as being implemented using Microsoft Exchange™ Server. 